// Fill out your copyright notice in the Description page of Project Settings.

#pragma once

#include "WorldEntity.h"
#include "WorldJunctionGroupParts.h"
#include "WorldJunctionGroupType.h"

/**
 * An entity of a junction group.
 */
class FWorldJunctionGroup : public FWorldEntity
{

public:

	using Ptr = std::shared_ptr<FWorldJunctionGroup>;
	using Super = FWorldEntity;

	FWorldEntityProperty< std::string >										Name;
	FWorldEntityProperty< FWorldJunctionGroupType >							Type;
	FWorldEntityPartArrayReference< FWorldJunctionReference, 1, INT_MAX >	JunctionReference;

public:

	FWorldJunctionGroup();
	FWorldJunctionGroup(const json& j);
	~FWorldJunctionGroup() override;

	void Resolve(FWorldEntityReferencing& referencing) override;

	WORLD_ENTITY_META_DECLARE(FWorldJunctionGroup)

};
